AsignacionTarea = function(){
		var configWindow = {
			edit: "asignacionTrabajoEditarTop",
			grid: "asignacionTrabajoGrid",
			save: "asignacionTrabajoGuardar",
			form: "asignacionTrabajoForm"
		};
		return {
			obtenerEstadosPedidos: function(){
				var i = 0;
				var grid = Ext.getCmp("asignacionTrabajoGrid");
				var seprarado = "~";
				var gridData = "";
				Ext.each(grid.getStore().getRange(), function(){
					gridData = gridData + Ext.getCmp("asignacionTrabajoGrid").getStore().getRange()[i].data.pedidoEstado + seprarado;
					i++;
	          });
				return gridData == "~" ? "":gridData;
			},
			guardarProductoTerminado: function(){
				Asi.message.progress("Guardando Informaci\u00F3n...");
					Ext.getCmp("ContenedorPrincipal").getForm().submit({
						url: Asi.constants.CONTEXT_PATH + "/empleado/guardarAsignacionTarea",
		    			timeout: Asi.constants.TIMEOUT_SECONDS,
		    			params: {
		    				"grupoId": Ext.getCmp("grupoInstalador").getValue(),
		    				"pedidoId": Ext.getCmp("pedidoId").getValue()
		    			},
		    			success: function(form, action){
		    				Asi.message.alert(action.result.message);
		    				if(action.result.pedidosFinalizados){
		    					var gridPedidoFinalizado = Ext.getCmp("asignacionTareaGrid");
		    					gridPedidoFinalizado.getStore().removeAll();
		    					gridPedidoFinalizado.getStore().loadData(action.result.pedidosFinalizados);
		    				}
		    			},
		    			failure: Asi.form.failureProcedure
					});
			},
			obtenerIdPedido: function(){
				var i = 0;
				var grid = Ext.getCmp("asignacionTrabajoGrid");
				var seprarado = "~";
				var gridData = "";
				Ext.each(grid.getStore().getRange(), function(){
					gridData = gridData + Ext.getCmp("asignacionTrabajoGrid").getStore().getRange()[i].data.pedidoId + seprarado;
					i++;
	          });
				return gridData == "~" ? "":gridData;
			},
			guardaAsignacionTarea: function(){
				Asi.message.progress(Asi.constants.SAVING);
					Ext.getCmp("asignacionTrabajoForm").getForm().submit({
						url: Asi.constants.CONTEXT_PATH + "/empleado/guardarAsignacionTarea",
		    			timeout: Asi.constants.TIMEOUT_SECONDS,
		    			params: {
		    				"materiales": AsignacionTarea.obtenerMateriales(),
		    				"usuario": AsiGen.getUsuarioId()
		    				
		    			},
		    			success: function(form, action){
		    				var gridCompra = Ext.getCmp("asignacionTrabajoGrid2");
		    				gridCompra.getStore().removeAll();
		    				gridCompra.getStore().sync();
		    				Asi.message.alert(action.result.message);
		    				if(action.result.pedidos){gridCompra.getStore().removeAll();
		    					Ext.getCmp("asignacionTrabajoGrid").getStore().removeAll();
		    					Ext.getCmp("asignacionTrabajoGrid").getStore().loadData(action.result.pedidos);
//		    					Ext.getCmp("asignacionTrabajoGrid").getSelectionModel().select(action.result.ctgProductoIndex);
		    				}
		    			},
		    			failure: Asi.form.failureProcedure
					});
			},
			agregarAlMateriaPrima: function(){
				Ext.getCmp("asignacionTrabajoGrid2").getStore().add({
					materiaPrimaId: Ext.getCmp("ctgMaterialId").displayTplData[0].ctgCatalogoId == null ? 0:Ext.getCmp("ctgMaterialId").displayTplData[0].ctgCatalogoId,
							materiaPrimaNombre: Ext.getCmp("ctgMaterialId").displayTplData[0].ctgCatalogoNombre == null ? "":Ext.getCmp("ctgMaterialId").displayTplData[0].ctgCatalogoNombre, 
							cantidad: Ext.getCmp("materiaPrimaCantidad").getValue()  == null ? 0:Ext.getCmp("materiaPrimaCantidad").getValue(),
							yardas: Ext.getCmp("materiaPrimaYarda").getValue() == null ? 0:Ext.getCmp("materiaPrimaYarda").getValue(),
							colorId: Ext.getCmp("materiaPrimaColor").getValue() == null ? 0:Ext.getCmp("materiaPrimaColor").getValue(),
							colorNombre: Ext.getCmp("materiaPrimaColor").displayTplData[0].ctgCatalogoNombre == null ? "":Ext.getCmp("materiaPrimaColor").displayTplData[0].ctgCatalogoNombre,
							pedidoDetalleId: Ext.getCmp("asignacionTrabajoGrid").getSelectionModel().selected.items[0].data.pedidoDetalleId == null ? 0:Ext.getCmp("asignacionTrabajoGrid").getSelectionModel().selected.items[0].data.pedidoDetalleId,
							pedidoId: Ext.getCmp("asignacionTrabajoGrid").getSelectionModel().selected.items[0].data.pedidoId == null ? 0:Ext.getCmp("asignacionTrabajoGrid").getSelectionModel().selected.items[0].data.pedidoId
							
					});
				Asi.form.clearAndEnable("asignacionTrabajoForm");
			},
			init: function(config){
				var pedidosData = config.pedidos;
				var configToReturn = {};
				configToReturn.items = [];
				configToReturn.menu = AsiBotones.getBotones(AsiGen.getTipoUsuario(), AsiGen.getPantallaId());
				configToReturn.items.push({
					flex: 1,
					title: "ASIGNACION DE TAREAS",
					autoScroll: true,
					xtype: "panel",
					layout: {
					    type: "vbox",
					    align : "center",
					    pack  : "start"
					},
					defaults: {width: 750, margins: "5 0 5 0"},
					dockedItems: [
									{
										
										xtype: "toolbar",
										dock: "top",
										items: [
										   '->',
										  {
									    	   text: "Guardar",
									    	   id: "ctgProductoGuardarTop",
											   iconCls: Asi.constants.icons.SAVE_ICON,
											   handler: AsignacionTarea.guardarProductoTerminado
									       }
									    ]
									}],
					items: [
					        
					        
					        
					       
						{xtype: "form",
						id: "ContenedorPrincipal",
						flex: 1,
						autoScroll: true,
						items: [
					        
					        
					        
//--------------------------------------------------------------------------------------------------------  INICIO DE GRID, PEDIDOS TERMINADOS Y LISTOS PARA ASIGNARLES INSTALADORES PARA TERMINAR SU FLUJO DE TRABAJO    
				        
						{
							title: "ASIGNACION DE TAREAS",
							xtype: "grid",
							id: "asignacionTareaGrid",
							height: 250,
							plugins: [Ext.create('Ext.grid.plugin.CellEditing',{clicksToEdit: 1})],
							minHeight: 250,
							collapsible : true,
							store: new Ext.data.SimpleStore({
						    	data: config.pedidosFinalizados || [],
						    	fields: [
						    	         
						    	    "pedidoId",
						    	    "pedidoFechaPedido",
									"pedidoFechaEntrega",
									"pedidoEstado",
									"pedidoDireccionEntrega",
									"usuario"
				    	        ]
						    }),
						    columns: [
						        {header: "Numero Pedido",  dataIndex: "pedidoId", flex:1, width: 120},
						        {header: "Fecha Pedido",  dataIndex: "pedidoFechaPedido", flex:1, minWidth: 120},
					            {header: "Fecha Entrega",  dataIndex: "pedidoFechaEntrega", flex:1, minWidth: 120},
					            {header: "Direccion Entrega",  dataIndex: "pedidoDireccionEntrega", flex:1, minWidth: 120},
					            {header: "Cliente",  dataIndex: "usuario", flex:1, width: 120}

						    ],

						    listeners: {
						    	selectionchange: function(model, records){
						    		if(!records || records.length <= 0) return;
						    		var record = records[0];
						    		if(record != null){

						    			Asi.form.setValues("asignacionTrabajoForm", record.data);
						    			Asi.form.setEnable(Ext.getCmp("asignacionTrabajoForm"));
						    		}
						    	},
						    	afterrender: function(){
						    		if(this.store.data.items.length > 0) Asi.grid.selectFirstRow(this);
						    		Asi.form.switchButton(configWindow, "edit");
						    	}
						    }
						}

//-------------------------------------------------------------------------------------------------------- INICIO FORM
						,{
				        	xtype: "form",
							id: "asignacionTrabajoForm",
							flex: 1,
						    border: false,
						    autoScroll: true,
							layout: {
								type: "table",
								columns: 6,
								style : {
									width : "730px",
									"margin-top" : "5px",
									"margin-bottom" : "40px"
								},
								align : "center"
							},
							defaults: {
								width: 230,
								selectOnFocus: true,
								enforceMaxLength: true,
								maxLength: 200,
								typeAhead: true,
								minChars: 1,
								queryMode: "local",
								forceSelection: true,
								allowEnable: true,
								colspan: 2
							},
							items: [
					        	 {
									xtype: "label",
									text: "DESCRIPCION DE PRODUCTO",
									cls: "x-form-item label_header",
									colspan: 8,
									width: 730
								},
								{xtype: "label", text: "Fecha Pedido", cls: "x-form-item label_spacing", colspan:3},
								{xtype: "label", text: "Fecha Entrega", cls: "x-form-item label_spacing", colspan:3},
								{
									xtype: "textfield",
//									fieldCls: "txtborder",
									id: "pedidoFechaPedido",
									maxLength: 100,
									readOnly: true,
									colspan: 3
								},{
									xtype: "textfield",
//									fieldCls: "txtborder",
									id: "pedidoFechaEntrega",
									maxLength: 100,
									readOnly: true,
									colspan: 3
								},
								{xtype: "label", text: "Direcci\u00f3n de Entrega", cls: "x-form-item label_spacing", colspan: 6},
								{
									xtype: "textfield",
//									fieldCls: "txtborder",
									id: "pedidoDireccionEntrega",
									readOnly: true,
									width: 730,
									maxLength: 100,
									colspan: 6
								},
								{xtype: "label", text: "Grupo Instalador", cls: "x-form-item label_spacing", colspan: 6},
								{
									xtype: "combo",
									id: "grupoInstalador",
									store: new Ext.data.SimpleStore({
										data: config.listaGrupo || [],
										fields: ["id", "descripcion"]
									}),
									displayField: "descripcion",
									allowBlank: false,
									valueField: "id"
								},
								{
									xtype: "hidden",
									id: "pedidoId"
								}
								

							]
				        },
				        
				        {
						    xtype: 'panel',
						    title: 'MAPA DE INSTALACION',
						    cls: "x-form-item label_header",
						    html:'<iframe src="https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d1231.4711461955617!2d-89.21126827598314!3d13.712035275036385!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!5e1!3m2!1ses!2ssv!4v1410386944221" width="400" height="300" frameborder="0" style="border:0"></iframe>',
						    layout: 'fit',
						    align: 'center',
						    flex: 1
				        }
				        
				        
				        
				        
				    
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				        
				      ]} 
				        
				        
				        
				    ]
					
				});
				return configToReturn;
			}
		};
	}();